package com.tour.tour.utils;

import cn.hutool.core.util.StrUtil;

/**
 * @author YounGCY
 * @date 2023-4-25 上午 11:36
 * @description
 */
public class RegexUtil {
    
    public static boolean isPasswordValid(String password) { return mismatch(password, RegexPatterns.PASSWORD_REGEX); }

    /**
     * 是否是无效手机格式
     * @param phone 待校验手机号
     * @return true：符合 false：不符合
     */
    public static boolean isPhoneValid(String phone) {
        return mismatch(phone, RegexPatterns.PHONE_REGEX);
    }

    /**
     * 是否为无效邮箱格式
     * @param email 待校验邮箱
     * @return true：符合 false：不符合
     */
    public static boolean isEmailValid(String email) {
        return mismatch(email, RegexPatterns.EMAIL_REGEX);
    }

    /**
     * 是否为无效验证码格式
     * @param code 待校验验证码
     * @return true：符合 false：不符合
     */
    public static boolean isCodeValid(String code) { return mismatch(code, RegexPatterns.VERIFY_CODE_REGEX); }

    private static boolean mismatch(String str, String regex) {
        if (StrUtil.isEmpty(str)) {
            return true;
        }
        return !str.matches(regex);
    }
}
